Register Allocation for Software Pipelining with Predication using Spiral Graph

نویسندگان

  • Hiroya Itoga
  • Tomohiro Haraikawa
  • Yoshiyuki Yamashita
  • Jiro Tanaka
چکیده

In this paper authors present Predicated Spiral Graph and Predicated Short Bridge Algorithm, that allocate registers to software pipelined loops with predication under the rotating register architectures. When using predication to execute the conditional branches, two separate variables in the pipelined kernel may share one real register, even if these overlap. Authors extend Spiral Graph to multiplexed style, and present five strategies of sharing a real register by the overlapped variables. The register allocation experiments using pseudo loop programs shows that the strategies are effective on sharing.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Register Allocation for Predicted Pipelining Using Spiral Graph

The framework of the Spiral Graph is proposed to allocate registers for software pipelining in register-renaming architectures. This will a result in an allocation with the least number of required registers in polynomial time on a rotating register, with the names of the registers renamed one by one and simultaneously. However, the original Spiral Graph cannot inherently manage the conditional...

متن کامل

SIRA: Schedule Independent Register Allocation for Software Pipelining

The register allocation in loops is generally carried out after or during the software pipelining process. This is because doing the register allocation at first step without assuming a schedule lacks the information of interferences between values live ranges. The register allocator introduces extra false dependencies which reduces dramatically the original ILP (Instruction Level Parallelism)....

متن کامل

Decomposing Meeting Graph Circuits to Minimise Kernel Loop Unrolling

This article studies an important open problem in backend compilation regarding loop unrolling after periodic register allocation. Although software pipelining is a powerful technique to extract fine-grain parallelism, variables can stay alive across more than one kernel iteration, which is challenging for code generation. The classical software solution that does not alter the computation thro...

متن کامل

Early Control of Register Pressure for Software Pipelined Loops

The register allocation in loops is generally performed after or during the software pipelining process. This is because doing a conventional register allocation at first step without assuming a schedule lacks the information of interferences between variable lifetime intervals. Thus, the register allocator may introduce an excessive amount of false dependences that reduce dramatically the ILP ...

متن کامل

Software Pipelining and Register Pressure in VLIW Architectures: Preconditionning Data Dependence Graphs is Experimentally Better than Lifetime-Sensitive Scheduling

Embedding register-pressure control in software pipelining heuristics is the dominant approach in modern back-end compilers. However, aggressive attempts at combining resource and register constraints in software pipelining have failed to scale to real-life loops, leaving weaker heuristics as the only practical solutions. We propose a decoupled approach where register pressure is controlled bef...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001